操作系统安全加固要考虑哪些方面
操作系统安全加固要考虑以下方面:
端口和进程:网络操作系统使用进程向外提供服务,减少无用软件及服务的任务就是要在所有系统进程中找出多余进程。由于进程通过打开网络端口向外提供服务,所以找出多余进程的最快方法是观察进程及端口对应表。Netstat命令显示协议统计和当前的TCP/IP网络连接,该命令只有在安装了TCP/IP协议后才可以使用。通过使用该命令可以列出一个系统上所有打开的TCP/IP网络监听端口。这些打开着的端口正是入侵者所要攻击的,因为它们通向系统平台内部。因此,作为平台加固的一部分,用户使用Netstat命令来识别出无关端口,并由此找到需要删除或禁用的服务。
安装系统补丁:所有软件都有缺陷。为了修复这些错误,供应商会发布软件补丁。如果没有这些补丁,组织很容易遭受攻击。在有很严格的更改控制策略的组织中,及时安装补丁会是一个问题。对补丁的彻底测试是这个过程的关键部分,因为供应商在解决旧问题时,有可能会引入新的问题。而对于和安全缺陷无关的补丁来说没有问题。但是,入侵者搜索和利用安全弱点的速度很快,所以要求有更快的安全补丁修正过程。企业必须注意安全补丁的发布,并随时准备快速地使用它们。
用户账户:用户账户标识了需要访问平台资源的实体(无论是应用程序进程还是人)。操作系统通过权限和优先权将用户账户与其访问控制系统相关联。因为用户账户是合法进入系统的机制,所以入侵者常常试图利用用户账户管理和访问控制中的缺陷。如果可以作为合法用户轻松地登录系统,那么为什么还要浪费时间去做自定义缓冲器溢出攻击呢?用户账户管理的弱点有5个方面:弱密码、制造商默认的账户、基于角色的账户、公司默认账户,以及废弃账户。在任何情况下,平台加固的目标是将用户账户数目减少到所需的绝对最小值。
用户特权:为每一个用户指派通常只能作为超级用户运行的特定的应用程序和功能,而不是真正地使用超级用户账户。也可以启用详细的日志记录,使得可以根据任何运行于超级用户功能追踪到某个特定的用户。在特定的应用中,意味着没有人使用过超级用户账户。
文件系统安全:通过在程序文件上设置SUID标志,某一个进程可以临时提升其特权用以完成某项任务(例如,访问文件passwd)。当程序执行时,可以暂时得到这些额外的特权而不用被全授予如此高的特权。这个SUID标志常常过度使用,当它与被黑客修改过的软件包结合时,被修改的程序执行后会使某个用户得到全时提升的系统权利。UNIX系统可能有很多带有这个标志的组件,但是通常只需要它们中的一小部分。建议使用命令从整个系统中删除不需要SUID标志程序的SUID标志。
远程访问的安全:Telnet和rlogin是UNIX系统上最常用的远程访问方式。这些系统都不采用加密技术来保护远程访问会话。一种被动的网络监听攻击可以看到用户在进入Telnet或者rlogin会话中按下的每一个键。安全Shell(SSH)是一种在UNIX及Window系统上使用的软件包,它提供与Telnet和rlogin相同功能,但增加了加密会话功能。这个软件包已经成为用加密和访问控制的各种可配置级别进行安全远程访问的行业标准。